home *** CD-ROM | disk | FTP | other *** search
/ MacHack 1998 / MacHack 1998.toast / Sessions / Completions / Completions Source / Files / HParamBlockTask.cp < prev    next >
Encoding:
Text File  |  1998-06-16  |  744 b   |  38 lines  |  [TEXT/CWIE]

  1. // HParamBlockTask.cp
  2.  
  3. #ifndef HParamBlockTask_h
  4. #include "HParamBlockTask.h"
  5. #endif
  6.  
  7. HParamBlockTask::HParamBlockTask()
  8.   {
  9.     #if GENERATINGCFM
  10.         static RoutineDescriptor CompleteGlue =
  11.             BUILD_ROUTINE_DESCRIPTOR( uppIOCompletionProcInfo, Complete );
  12.     #endif
  13.  
  14.     ioParam.ioCompletion = &CompleteGlue;
  15.     ioParam.ioResult = noErr;
  16.   }
  17.  
  18. void HParamBlockTask::Complete( HParamBlockRec *block )
  19.   {
  20.     HParamBlockTask *self = static_cast< HParamBlockTask * >( block );
  21.     self->Task::Complete();
  22.   }
  23.  
  24. #if !GENERATINGCFM
  25.  
  26. void ParamBlockTask::CompleteGlue()
  27.   {
  28.     HParamBlockRec *block = RegisterA0();
  29.     HParamBlockTask *self = static_cast< HParamBlockTask * >( block );
  30.     
  31.     A5 savedA5;
  32.     self->a5.Restore();
  33.     Complete( self );
  34.     savedA5.Restore();
  35.   }
  36.  
  37. #endif
  38.